Electrophotographic processes for producing a permanent image on media are well known and commonly used. In general, a common process includes: (1) charging a photoreceptor such as a roller or continuous belt bearing a photoconductive material; (2) exposing the charged area to a light image to produce an electrostatic charge on the area in the shape of the image; (3) presenting developer particles (toner) to the photoreceptor surface bearing the image so that the particles are transferred to the surface in the shape of the image; (4) transferring the particles in the shape of the image from the photoreceptor to the media; (5) fusing or fixing the particles in the shape of the image to the media; and (6) cleaning or restoring the photoreceptor for the next printing cycle. Many image forming apparatus, such as laser printers, copy machines, and facsimile machines, utilize this well known electrophotographic printing process.
In laser printers, an image is typically rasterized to form a bit pattern which is stored as a binary image bitmap for subsequent rendering to a final output image. The image bitmap is also referred to as a picture element ("pixel") raster image. In the rasterizing process (i.e., forming the binary bitmap), graphic elements, such as continuous lines (line art) and text character outlines are converted to pixel patterns that approximate the source image shape. Continuous tone data, such as photographic data (both color and gray value images) are also converted to pixel patterns that approximate the source continuous tone image data. However, to effectively portray the original source image for continuous tone data, each pixel of the source image must be represented by multiple bits which define either a color or a gray level and which are subsequently converted, typically, to a binary image bitmap. Hereafter, it is to be understood that when the term "gray" is used, it applies to both color and black/white images and, when applied to a color image, relates to the intensity of the color.
Conventionally, in order to represent gray level images on a bi-level (black and white) printer, the pixel data, if not already gray level, is converted into a gray level, multi-bit configuration. For example, when a multi-bit configuration of 8 bits per pixel is employed, 256 gray levels can be represented by the digital pixel values. The individual gray level pixels are converted to binary level pixels (i.e., bi-level data for subsequent rendering) through the use of a dithering process. Spatial dithering (or digital halftoning) is the converting of the multi-bit pixel values (of a source image) to fixed-size, binary, multi-pixel groupings that approximate the average gray value of the corresponding source data. This dithering process provides a halftone texture to selected areas of the image so as to provide gray value variations therein. Thus, for example, with binary pixels, a 6.times.6 multi-pixel grouping can, in theory, simulate 36 levels of gray, and an 8.times.8 grouping can simulate 64 levels.
The dithering process (i.e., halftoning) employs a comparison of the individual pixel values (specified by a source image intensity array) against a threshold matrix (dither matrix or device best threshold array) to control the conversion of the gray level values to appropriate patterns of bi-level data. For purposes of this discussion, a gray level value of 255 in a source image is considered to be "white", and a gray level value of 0 is "black". The threshold matrix comprises a plurality of row-arranged gray level values which control the conversion of the gray level pixel values to bi-level pixel values which are stored in a resultant page buffer array (raster) bitmap. During the dithering process, the threshold matrix is tiled across the image pixels to enable each gray level image pixel to be compared against the correspondingly, logically-positioned gray level value of the threshold matrix. In essence, each entry in the threshold matrix is a threshold gray level value which, if exceeded by the source image gray level pixel value, causes that gray level image pixel to be converted to a "white" pixel (or a binary logical "zero"). If, by contrast, the source image gray level pixel value is less than or equal to the corresponding threshold matrix gray level value, it is converted to a "black" pixel (or a binary logical "one", i.e., a complementary or opposite pixel value relative to "zero").
Thus far, the discussion has focused on the differences between rasterizing text (or line art) and halftone images. However, in either case, once a raster page buffer array bitmap is generated from a source image, whether the image is text, line art, or halftone, the desired output image is created (rendered) by causing a laser to be modulated in accordance with the bit pattern stored in the image page buffer array bitmap. The modulated laser beam is scanned across a charged surface of a photosensitive drum in a succession of raster scan lines. Each scan line is divided into the pixel areas and the modulated laser beam causes some pixel areas to be exposed to a light pulse and some not, thus causing a pattern of overlapping pixels on each scan line. Where a pixel area is illuminated, the photosensitive drum is discharged, so that when it is subsequently toned, the toner adheres to the discharged areas and is repelled by the still charged areas. The toner that is adhered to the discharged areas is then transferred to paper and fixed in a known manner.
In general, the fidelity of the output image relative to the source data is directly related to the resolution of pixels (dots) in the output image. Arbitrary analog images cannot be exactly reproduced by a bitmap raster. For example, as a result of the images's pixel configuration, image edges that are either not parallel to the raster scan direction or not perpendicular to it appear stepped. This is especially noted in text and line art.
Various techniques have been developed to improve the quality of the output image of a raster bitmap. These enhancement techniques include: edge smoothing, fine line broadening, antialiasing (to smooth jagged edges), and increasing the resolution of the laser printer. These enhancing techniques typically modify the signals to the laser to produce smaller dots that are usually offset from the pixel center, or in other words, to produce gray scale dots. However, most of the enhancing techniques operate on the data after it has already been rasterized, and hence after the fine detail has already been lost. Thus, most enhancing techniques employ interpolation methods upon the raster data to "best" render the image.
As an example, although the prior art has attempted in a variety of ways to overcome the stepped appearance of pixel image edges for text and line art, one of the more widely used techniques is described in U.S. Pat. No. 4,847,641 to Tung, assigned to the Assignee of this application, the disclosure of which is incorporated in full herein by reference. Tung discloses a character generator that produces a bitmap of image data and inputs that bitmap into a first-in first-out (FIFO) data buffer. A fixed subset of the buffer stored bits forms a sampling window through which a selected block of the bitmap image data may be viewed (for example, a 9.times.9 block of pixels with the edge pixels truncated). The sampling window contains a center bit cell which changes on each shift of the image bits through the FIFO buffer. As the serialized data is shifted, the sampling window views successive bit patterns formed by pixels located at the window's center bit cell and its surrounding neighbor bit cells. Each bit pattern formed by the center bit and its neighboring bits is compared in a matching network with prestored templates. If a match occurs, indicating that the center bit resides at an image edge and that the pixel it represents can be altered so as to improve the image's resolution, a modulation signal is generated that causes the laser beam to alter the center pixel configuration. In general, the center pixel is made smaller than a standard unmodified bitmap pixel and is possibly moved within the confines of the pixel cell. The pixel size alteration is carried out by modulating the laser contained in the "laser print engine" of the laser printer. The system taught by Tung is now generally referred to as Resolution Enhancement Technology (RET) and enables substantially improved image resolutions to be achieved for text and line art.
Although conventional pixel resolution enhancement techniques work well for edge smoothing of text and line art images, the techniques are not really intended for halftone images. Namely, there are generally not discrete "edges" in halftone images that are to be smoothed. Thus, when complex images that include both text (or line art) and halftone are processed through a resolution enhancement technique, the text or line art is enhanced (edges are smoothed) but the halftone image quality may in fact be diminished. The high frequency nature of any halftone image (i.e., the black to white transitioning) may especially be undesirably altered as a result of RET. This is because RET (or edge smoothing) is, conventionally, applied to the entire raster image, regardless of whether the data (pixel pattern) is representative of text, line art, or halftone images. Text (or line art) simply has not been distinguishable, and has not been distinguished, from halftone images in raster arrays for any kind of selective application of such resolution enhancement techniques.
Accordingly, an object of the present invention is to improve the rendering of complex images embodying text, line art and/or halftone data.